<style scoped>
    .data_monitoring_main{
        width: 20vw;
        height: 24.4vh;
    }
</style>

<template>
    <div class="data_monitoring_main">
        <div ref="dataMonitoringChart" style="width: 20vw;height:24.4vh;"></div>
    </div>
</template>


<script>
    import { getServer } from '@/api/monitor/server';

    export default {
        components: {
        },
        created() {
            this.init();
        },
        methods: {
            init() {
                this.getServer();
            },
            /** 查询服务器信息 */
            getServer() {
                getServer().then((response) => {
                    this.server = response.data;
                    this.$nextTick(() => {
                        this.drawPieCpu();
                    });
                });
            },
            drawPieCpu() {
                // 基于准备好的dom，初始化echarts实例
                let myChart = this.$echarts.init(this.$refs.dataMonitoringChart);
                var option;

                
                option = {
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'cross',
                            crossStyle: {
                                color: '#FFFFFF'
                            }
                        }
                    },
                    toolbox: {
                        feature: {
                            dataView: { show: false, readOnly: false },
                            magicType: { show: false, type: ['line', 'bar'] },
                            restore: { show: false },
                            saveAsImage: { show: false }
                        }
                    },
                    grid: {
                        left: '5%',
                        right:'5%',
                        top: '20%',
                        bottom: '5%',
                        containLabel: true
                    },
                    legend: {
                        data: ['Evaporation', 'Precipitation', 'Temperature']
                    },
                    xAxis: [
                        {
                            type: 'category',
                            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
                            axisPointer: {
                                type: 'shadow'
                            },
                        }
                    ],
                    yAxis: [
                        {
                            type: 'value',
                            min: 0,
                            max: 250,
                            interval: 50,
                            axisLabel: {
                                formatter: '{value} ml'
                            }
                        },
                        {
                            type: 'value',
                            min: 0,
                            max: 25,
                            interval: 5,
                            axisLabel: {
                                formatter: '{value} °C'
                            }
                        }
                    ],
                    series: [
                        {
                            name: 'Evaporation',
                            type: 'bar',
                            tooltip: {
                                valueFormatter: function (value) {
                                return value + ' ml';
                            }
                        },
                        data: [
                            2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
                        ]
                        },{
                                name: 'Precipitation',
                                type: 'bar',
                                tooltip: {
                                    valueFormatter: function (value) {
                                    return value + ' ml';
                            }
                        },
                        data: [
                            2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
                        ]
                        },
                        {
                        name: 'Temperature',
                        type: 'line',
                        yAxisIndex: 1,
                        tooltip: {
                            valueFormatter: function (value) {
                            return value + ' °C';
                            }
                        },
                        data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
                        }
                    ]
                    };

                    option && myChart.setOption(option);
            }
        },
    };
</script>